V2EX  ›  英汉词典

Tail-Call Optimization

释义 Definition

尾调用优化:一种编译器或解释器的优化技术;当函数在返回前做的最后一件事是调用另一个函数(或自身)时,运行时可以复用当前调用栈帧,从而让某些递归在空间上表现得像循环,减少甚至避免栈溢出。(常缩写为 TCO
注:在一些语言与实现中,TCO 是否发生取决于编译器/运行时设置与代码写法。

例句 Examples

A tail-call optimized function can recurse without growing the stack.
经过尾调用优化的函数可以递归执行而不会让调用栈不断增长。

With tail-call optimization enabled, the compiler turns many tail-recursive helpers into efficient loops, improving performance and preventing stack overflows in deep recursion.
启用尾调用优化后,编译器会把许多尾递归辅助函数转成高效的循环,从而提升性能,并在深度递归时避免栈溢出。

发音 Pronunciation (IPA)

/ˈteɪl kɔːl ˌɑːptɪməˈzeɪʃən/

词源 Etymology

该术语由三部分构成:tail(“尾部、末尾”)+ call(“调用”)+ optimization(“优化”)。含义直观:当一次函数调用出现在函数执行的“末尾位置”(即返回前的最后一步)时,系统可以进行“优化”,把新的调用复用为当前调用,减少额外栈帧的分配。该概念在函数式编程与编译器理论中尤为常见。

相关词 Related Words

文学/著作中的用例 Notable Works

  • Structure and Interpretation of Computer Programs(SICP,《计算机程序的构造和解释》):讨论尾递归与实现层面的尾调用行为,是学习该概念的经典来源之一。
  • Compilers: Principles, Techniques, and Tools(《编译原理》,“龙书”):在优化与过程调用相关主题中常涉及尾调用消除/尾调用优化思想。
  • Andrew W. Appel, Modern Compiler Implementation(《现代编译器实现》系列):在代码生成与过程调用优化语境下讨论尾调用相关优化。
关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   691 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 11ms · UTC 20:27 · PVG 04:27 · LAX 12:27 · JFK 15:27
♥ Do have faith in what you're doing.